package cn.com.self.apis.util;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 *
 */
public class JsonArrayToListUtil {
   
    /**
     *
     * @return
     */
    public static List toList(JSONArray jsonArray) {
        List list=new ArrayList();
        for(int i=0;i<jsonArray.size();i++){
            Map<String, Object> objectMap = new HashMap<>();
            JSONObject jsonObj =JSONObject.fromObject(jsonArray.get(i));
            Map<String, Object> jsonObject = jsonObj;
            jsonObject.forEach((key, value) -> {
                switch(key) {
                    case "企业名称":
                        objectMap.put("enterpriseName", value);
                        break;
                    case "主键":
                        objectMap.put("cdId", value);
                        break;
                    case "发证日期":
                        objectMap.put("issueDate", value);
                        break;
                    case "证书编号":
                        objectMap.put("permitNumber", value);
                        break;
                    case "有效期至":
                        objectMap.put("certificateValidity", value);
                        break;
                }

            });
            list.add(objectMap);
        }

        return list;
    }

    public static Map toMap(JSONArray jsonArray) {
        List list=new ArrayList();
        Map<String, Object> innerObjectMap = new HashMap<>();
        Map<String, Object> objectMap = new HashMap<>();
        for(int i=0;i<jsonArray.size();i++){
            JSONObject jsonObj =JSONObject.fromObject(jsonArray.get(i));
            innerObjectMap.put(jsonObj.getString("name"),jsonObj.getString("value"));
        }
//        innerObjectMap.forEach((key, value) -> {
//            switch(StringUtils.deleteWhitespace(key)) {
//                case "企业名称":
//                    objectMap.put("enterpriseName", value);
//                    break;
//                case "编号":
//                    objectMap.put("permitNumber", value);
//                    break;
//                case "住所":
//                    objectMap.put("registrantDomicile", value);
//                    break;
//                case "生产地址":
//                    objectMap.put("productionAddress", value);
//                    break;
//                case "社会信用代码":
//                    objectMap.put("enterpriseCreditCode", value);
//                    break;
//                case "法定代表人":
//                    objectMap.put("legalRepresentative", value);
//                    break;
//                case "企业负责人":
//                    objectMap.put("HeadOfEnterprise", value);
//                    break;
//                case "许可项目":
//                    objectMap.put("licensedItems", value);
//                    break;
//                case "质量负责人":
//                    objectMap.put("qualityPerson", value);
//                    break;
//                case "许可证有效截止日期":
//                    objectMap.put("validUntil", value);
//                    break;
//                case "发证机关":
//                    objectMap.put("licenceIssuingAuthority", value);
//                    break;
//                case "发证日期":
//                    objectMap.put("dateOfIssue", value);
//                    break;
//                case "日常监督管理机构":
//                    objectMap.put("regulatorDepartment", value);
//                    break;
//                case "签发人":
//                    objectMap.put("Issuer", value);
//                    break;
//                case "日常监督管理人员":
//                    objectMap.put("regulator", value);
//                    break;
//                case "许可证有限开始日期":
//                    objectMap.put("licensedTime", value);
//                    break;
//            }
//
//        });


        return innerObjectMap;
    }

}
